import 'mod.n'

fn main() {
    mod.nullable<[i8]> foo = null
    println(foo)

    foo = [1 as i8, 2, 3]
    if foo is [i8] {
        print(foo[0], foo[1], foo[2], '\n')
    }

    // struct box
    var b = new mod.box<i8, i16>(
        width = 5,
        length = 10,
    )

    println('i8 area=', b.area())
    println('i8 area=', b.width * b.length as i8)

    var car = mod.box<f32, f32> {
        width: 3.1,
        length: 6.1,
    }
    println('float area=', @sla(car).area())
    println('float area=', @sla(car).area())
    println('float area=', car.width * car.length)
}